home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1 Issue 2 / PDCD-1 - Issue 02.iso / _printapps / printapps / printers / !Printers / ps / PSfiles / PStprolog < prev    next >
Text File  |  1994-02-16  |  3KB  |  47 lines

  1. /BD{bind def}bind def/LD{load def}BD/GS/gsave LD/GR/grestore LD/M/moveto
  2. LD/I/index LD/SCM/setmatrix LD/CCM/concatmatrix LD/LookupFont{dup load
  3. findfont 3 -1 roll scalefont def}bind def/StartPage{save 7 1 roll neg/RH
  4. exch def/CW exch def dup dup dup/NF LookupFont/BF LookupFont/IF
  5. LookupFont/BIF LookupFont 120/TF LookupFont 0.1 dup scale rotate
  6. translate}bind def/EndPage{restore showpage}bind def/MT{CW mul exch RH mul
  7. moveto}bind def/FI{/F0 exch def/FW 1 def}bind def/FS{F0 exch div/FW exch def
  8. 0()SS}bind def/SS{exch/BITS exch def BITS 64 and 0 ne{TF setfont show}{BITS
  9. 1 and 0 ne{BITS 4 and 0 ne{BIF}{BF}ifelse}{BITS 4 and 0
  10. ne{IF}{NF}ifelse}ifelse[FW 0 0 1 0 0]makefont setfont BITS 56 and 0 ne{gsave
  11. newpath 0 0 moveto(I)true charpath flattenpath pathbbox/VH exch def pop pop
  12. pop grestore}if BITS 8 and 0 ne{currentpoint VH 0.3 mul sub/Y0 exch def/X0
  13. exch def}if BITS 48 and 0 ne{/VS VH 0.4 mul def BITS 16 and 0 eq{/VS VS neg
  14. def}if currentfont[1 0 0 .8 0 VS]makefont setfont}if show BITS 8 and 0
  15. ne{currentpoint pop/X1 exch def gsave newpath VH 0.05 mul setlinewidth X0 Y0
  16. moveto X1 X0 sub 0 rlineto stroke grestore}if}ifelse}bind def/VALACC 14 dict
  17. dup begin/acute 1 def/grave 1 def/circumflex 1 def/dieresis 1 def/ring 1
  18. def/tilde 1 def/breve 1 def/caron 1 def/cedilla 1 def/dotaccent 1
  19. def/hungarumlaut 1 def/slash 1 def/macron 1 def/ogonek 1 def end def/CKN{2
  20. copy known{get type/arraytype ne}{pop pop false}ifelse}def/OKA{2 copy
  21. known{pop pop false}{dup length dup 1 gt{string cvs dup 0 1 getinterval cvn
  22. exch 1 1 I length 1 sub getinterval cvn 3 -1 roll dup 2 I CKN exch 3 I CKN
  23. and VALACC 2 I known and{true}{pop pop false}ifelse}{pop pop pop
  24. false}ifelse}ifelse}def/RF{findfont false 3 1 roll _RFE}def/_RFE{dup length
  25. dict begin{1 I/FID ne{def}{pop pop}ifelse}forall dup type/arraytype
  26. eq{/FontMatrix FontMatrix 3 -1 roll 6 array CCM def}{pop}ifelse dup
  27. type/arraytype eq  currentdict/Encoding known and{/Encoding exch
  28. def}{pop}ifelse currentdict end definefont pop}def/RFE{findfont
  29. dup/CharStrings known{RFET1}{_RFE}ifelse}def/RFET1{dup length 4 add dict
  30. begin/CBOX{newpath 0 0 M GS ifm SCM false charpath matrix SCM pathbbox
  31. currentpoint GR}BD/CHEI{CBOX pop pop 4 1 roll pop pop pop}BD/SRCH{-1
  32. exch/Encoding load   0 1 2 I length 1 sub{2 copy get 3 I eq{4 -1 roll pop 3
  33. 1 roll exit}{pop}ifelse}for pop pop dup -1 ne{1 string dup 0 4 -1 roll put
  34. true}{pop false false}ifelse}BD/MKACC{SRCH 3 -1 roll SRCH 3 -1 roll and{3
  35. dict begin/letter exch def/accent exch def/ifm/FontMatrix load matrix
  36. invertmatrix def GS matrix SCM letter CBOX 6 2 roll accent CBOX pop pop 6 -1
  37. roll 7 I sub 3 -1 roll 4 I sub sub 2 div 7 -1 roll 5 -1 roll sub add 7 1
  38. roll 0 gt{(X)CHEI(x)CHEI 2 copy add 2 div 5 -1 roll le{sub}{pop pop 0}ifelse
  39. 5 1 roll pop pop}{pop pop pop 0 3 1 roll}ifelse GR setcharwidth 0 0 M GS ifm
  40. concat letter show GR M    GS ifm concat accent show  GR end}{pop pop}ifelse
  41. pop}BD dup/CharStrings get 0 4 I{2 I exch OKA{pop pop 1 add}if}forall 3 -1
  42. roll{1 I/FID ne 2 I/CharStrings ne and{def}{pop pop}ifelse}forall 1 I length
  43. add dict exch{2 I 3 1 roll put}forall 2 I{2 copy OKA{[3 1 roll/MKACC cvx]cvx
  44. 2 I 3 1 roll put}{pop}ifelse}forall/CharStrings exch def dup type/arraytype
  45. eq{/FontMatrix FontMatrix 3 -1 roll 6 array CCM def}{pop}ifelse/Encoding
  46. exch def currentdict end definefont pop}BD
  47.